Welcome to my online profile. I am an Internet Services Developer at Netcraft and a University of Southampton Computer Science graduate.
I have both academic and real world work experience with computer science, particularly software development related to the web, networks and distributed computing. I have also recently gained experience with mobile development for Android.
I have a sound knowledge of server administration on both Unix and Windows based systems via both personal endeavors and technical positions.
I have graduated as a Bachelor of Science in Computer Science with First Class Honours from The University of Southampton.
During university I gained practical experience in a wide range of technologies, platforms and langues that has further stimulated my interest in the subject and set me up for an exciting career.
I achieved consistent grades throughout which resulted in graduating with First Class Honours. At the end of year two I was rewarded with a prize from Netcraft after ranking in the top 10 with 75%. I was rewarded a Scholarship from ECS after being in the top 10% with 85% at the end of year one.
First Year Average: 85% (Top 10%, awarded Zepler Scholarship)
Second Year Average: 75% (Top 10, awarded Netcraft Prize)
Third Year Average: 76% (Graduated with First Class Honours)
Modules above 80%:
I have befriended many highly skilled people throughout university. Here are some of their own websites:
Management Issues in IT
Professional Issues in IT
Legal Issues in IT
I worked for Lumina Learning as a Junior Software Developer between July 2009 and April 2012 (2 years 10 months) in Wokingham (office), Southampton (uni).
During my time at Lumina I had a big influence on their products from specification all the way up to implementation. As well as working with the rest of the team I also worked with Clients and Affiliates directly throughout my time at Lumina.
Read about the projects I worked on whilst at Lumina Learning by clicking the tiles on the right.
Tools:
Working for a global company has given me a lot of real world work experience including working at all stages of the software life cycle, dealing with rapid deliverables and specification modifications.
I highly recommend Lumina Learning's services, they provide psychometrics which value diversity and enable learner's to develop themselves personally and professionally. Please visit http://www.luminalearning.com for more information.
Working on this project required creating a complex Object Oriented PHP system to generate images with imagemagick for portrait report PDFs.
Every dot on the wheel represents a team member or a learner's persona. Dots are smart and their final position is only placed where they do not overlap and collide with a dot already on the wheel.
Creating the Team and Persona wheels were critical to releasing Lumina Team Intro as well as enhancing Lumina Spark. I conceived and implemented algorithms for the Team and Persona wheels after many discussions with Stewart Desson, this of course required a lot of trigonometry to determine where to place a dot within the circle.
Once the dot is placed it has the ability to swing clockwise/anti-clockwise depending on the scores of the aspects either side. Dots can also move in and out depending on the score of opposite aspects.
Stewart Desson conceived the original Lumina Splash algorithms requiring a lot of complex maths. The splash represents a learner's personality and the area of the splash is representative of the overall colour scores as well as the spokes representing the aspect scores.
Stewart's original mathematics were all entered into Excel and the splash was drawn slowly as an Excel graph. My task on this project was to go through this huge and complex Excel spreadsheet and work out how to implement the functions in modern programming languages for on the fly generation by a background service on a server.
I have implemented this algorithm in both PHP and Java, the code generates an SVG of points which represents the Splash's mask which is then used to cut out a colourful splash graphic which is then overlayed on top of a very attractive Lumina Mandala graphic and saved in the users directory on the server, this final result is then included in the final PDF document output of Lumina Spark.
As well as generation via a service on Lumina's webserver splashes are created in Lumina Lite which is used by Lumina's partners for marketing purpose where potential customers can fill out a quick questionnaire and see their splash taking shape. This tool also includes a Splash-o-Matic which has been useful in creating SVGs for Lumina's graphic designer.
For this project I created an object oriented tag cloud system. Every tag cloud is unique and each word shifts randomly to get a unique position.
Tag Clouds can be generated for a learner's colours, aspects or qualities. The size, weight and opacity of each word is relational to its score.
Lumina tag clouds were first seen in a custom made version of Lumina Leader, they have since been integrated into Lumina Spark and have proven a new popular way of visualising scores compared to bar charts.
Social Media now plays a huge role in a company's marketing strategy. Lumina Learning now has a Social Media strategy and posts regularly to sites such as Twitter to engage with their audience. My role in this project was to work out how best to integrate the feeds and media from the various social networks and display content from them on the Lumina Learning website. Social Media now helps to keep the website up to date and relevant, keeps visitors on the site for longer and promotes sharing of content.
Lumina Learning HQ is not the only part of Lumina to post to Social Media. Lumina is made up of many Partners around the world and each partner has a lot of Affiliates. The users under the affiliates should only see local content relevant to them, therefore the social media system only shows relevant feeds on the user dashboards and homepages.
The Social Media settings pages are accessible by users who are in control of another set of users and uses various web service APIs to search for their account and gather their avatar, account ID and name for use of the social media caching system I developed for Lumina Learning in PHP. This required use of cURL, JSON and XML.
Lumina Learning now has many versions of its home page for different partners and affiliates with different target audiences in different locations. The pages display status and blog updates as well as videos and images from various social networks. The social networks are only updated hourly and the content is stored on Lumina's own servers in order to speed up requests and not have excessive connections to the services.
Social Media has enhanced Lumina Learning's marketing website with share buttons appearing across the site. Facebook like buttons, Google +1 buttons and LinkedIn recommend buttons are also used. These buttons make it easy for website visitors to share Lumina's content with others and increase the number of potential customers reached.
Lumina Learning's products can be customised by Lumina's affiliates before they print and present materials at workshops.
During my time at Lumina I worked on making these product customisations as easy as possible and developed a Product Wizard system inside Lumina's in-house framework and CMS.
The wizard takes Affiliates step by step through the customisation process customising everything like text on the pages, whether the page numbers should appear at the top or the bottom and also the order of the pages. The wizard also allows Affiliates to add new custom pages to their portraits and workbooks and also include custom images.
Customisation is an important part of e-business and Lumina Learning has taken big steps into making their products customisable for independent Affiliates.
I implemented the entire technical backend of a bespoke Lumina Leader Portrait for a company requiring a targeted Lumina Learning product. This was a fast paced project that required as much automation as possible in order to produce a big portrait in a minimal number of steps.
The project was a success for the IT team with all the algorithms to select statements being in place before the text had even been written for the pages.
As well as the Lumina Splash and Tag Clouds mentioned previously I also played other roles in the Lumina Spark portrait. I was responsible for a lot of the original PHP implementation that selects statements as well as graphically representing scores in bars. I have also done lots of design work to make pages appear attractive and match the product specifications.
I created a Contracts System as part of Lumina Learning's Legal process. Lumina has the ability to request any user of the system to sign a specific contract. All contract versions and signatures are logged and can be retrieved by Lumina Learning on-demand as proof the contract was accepted.
Checking for pending contracts is one of the first actions that is performed when a page is loaded in the framework.
Lumina Learning is a global company with translations in several languages. As well as updating the website text it is important that the printable factsheets that match the webpages are also updated with the latest information.
When re-coding the marketing website I simultaneously coded the factsheets to use the same translated text and design so whenever the website text is updated the factsheets follow. The website's design has since changed but the Factsheets system remains in place and has an alternate design to the webpages themselves. Factsheets are generated by the IT team for the main website and customised versions can also be generated manually by Affiliates in order to have their own logo and address included in the PDF.
I have recently started working as an Internet Services Developer at Netcraft in Bath.
For information on Netcraft visit
http://news.netcraft.com/about-netcraft/
I have a number of pre-university qualifications including A-Levels, Music and a Cisco certification and more.
I am a Cisco Certified Entry Networking Technician (CCENT) valid until July 20 2012. I took the Cisco ICND1 exam after my A-Levels during the holidays. The course covered networking fundamentals, WAN technologies, basic security and wireless concepts, routing and switching fundamentals, and configuring simple networks. I passed first time with 94%. I also completed CCNA Exploration semester 1 and 2 at St Crispin's School during my A-Levels.
I studied for my A-Levels at St Crispin's School, Wokingham and achieved the following results (A was maximum grade at the time):
I have played Clarinet for many years. I have played at The Hexagon in Reading and The Anvil in Basingstoke as a band member and have also been on tour to Devon. My Clarinet grades are the following:
I also did my GCSEs at St Crispin's School, Wokingham. My GCSE grades are the following (A* was maximum grade at the time):
In the same year as GCSEs I achieved the following in IT Practitioners (ICT Systems Support) which is the equivalent of 3 B grades:
Before I began work for Lumina Learning I was involved in several web projects. My domain name PlanetAcres.co.uk was registered in 2004 when I was 12, before then I had free hosting. I have completed projects for a range of people and companies and was administrator of a forum on LoudOpinions.com for a few years. All of my early web projects were entirely self taught and motivated and inspired me to take my degree in Computer Science.
All projects used clientside HTML, CSS, JavaScript and dynamic sites used serverside PHP and MySQL databases.
Project outcomes: Setting up the Joomla Content Management system and creating a brand new custom module to display fixtures and results, allow players to set their availability and allow captains to select players plus all the administrative backend such as adding and editing games, teams, clubs, grounds and users.
Project outcomes: Creating an attractive website without any dynamic serverside tricks and still allowing it to be updated often with ease and interacted with, such as sorting tables of flat data. The website also has a page one postion on Google for Cricket Books.
Project outcomes: Creating a website whilst in Turkey for a Turkish restaurant owner. My first project outside of England. I designed the website plus the logo and graphics. I also installed a forum which matches the design of the rest of the website.
Project outcomes: Setting an accessible website that can easily be edited and is accessible to all.
Project outcomes: Designing and creating a content management system for AES from scratch for them to add their own pages and edit them as they wish.
Website has since had a redesign
Project outcomes: Creating a nice, professional website design to match their existing logo and to link to their existing online catalogue.
Website is no longer active