ODM Solutions

ODM Solutions

Established in 2010 as a consultancy for automation of processes involved in software development, testing and delivery.

We believe that time consuming and repetative tasks should be automated, freeing developer, test and integration teams to spend time on improve processes instead of merely repeating them, and to spend time of course on delivering the best software they can.

What things are worth automating? The following list is not exhaustive:

This Page

This site is on github. If you think there is a change required, or would like to contact us about something, please go to https://github.com/odmsolutions/odmsolutions.github.io, and either raise an issue or a PR.

About Danny Staple

I am the Director of ODM Solutions, and a skilled IT professional.

Python

I’ve been using Python for close to a decade for various tasks, professionally since around 2008.

I have used it as a tool for many things including the automation systems below, Django apps for managing DB data, data file transformation and reporting, hardware monitoring, site-to-site synchronisation.

I am using Python to work with robots (please see OrionRobots - stuff with Raspberry Pi and Arduino).

Automation

I have been working in automation for continuous integration systems with BSkyB since 2010. This is automation of software builds, software testing and delivery into test/integration teams.

I have been using Hudson/Jenkins since 2009 and have made contributions to some of the public plugins for the system, as well as being involved in the JIRA/mailing list communities. This includes system admin, extending with Jelly, and building jobs with it.

Test automation

I am a test-infected, or even test-obsessed developer, and in the last 4 years I have been working
closely with a number of automated testing methods:

Integration testing - bringing components together and testing sections of a full system.

Full Stack Testing - Testing on hardware.

I have experience with the S3 StormTest system since 2010 for testing full stack on STB’s.
I am familiar with Pythons Unittest, Micheal Foords Mock, VirtualEnv and Nose for testing python systems.
I have built a system for automating testing of ActionScript with a Jasmine like syntax and automated from Jenkins.

Some experience with Selenium, VirtualBox.

Build automation

ODM Solutions is able to consult on single step build processes for complex builds involving multiple languages and technologies. This includes working with:

Makefiles

Bash Scripts

Various scripting languages for transformation.

GCC

Report automation and visualisation

Rendering HTML, PDF or email reports based on test results or other datasets. Making single file sharable reports, or dynamic HTML reports from a live backend.

Installation monitoring and management

Tools to manage automation systems including:

Django webapps (including CSS + JS with no-refresh screens).

Zabbix.

Mysql DB - under Django and raw.

Familiar with Linux - both Debian and Redhat flavoured distributions.

We are able to install this in a local context at your site, or in a cloud context like AWS.

Industry participation

Danny Staple is a member of the BCS (British Computer Society), and specifically the following special interest groups there:

SPA - Software Practice Advancement

Advanced Programming

Testing Specialists

I have attended PyCon Uk since 2012, and turn up at London Python Group events along with Skillsmatter events.

Industry experience

Danny Staple has expert knowledge in the realm of developing software for broadcast and media usage, including applications on Set Top Boxes (DVB - T,S,C), Connected TV Platforms (including Samsung Widgets, Yahoo Widgets) and server side support for these - such as EPG Servers, VOD Metadata servers, usage tracking systems and others.

This includes not only developing apps on these systems, but incorporating automated testing and Continuous integration into our strategies enhancing code quality and confidence. I am not only a user of BDD, TDD and unit testing frameworks, but actively researching and contributing to this aspect of Software Practice Advancement.

Although Python is my main language, I have developed tools, apps and games in C++, C, ActionScript, Ruby, PHP and Perl - and am able to adapt to languages or tools as needed (at least those that have documentation). My focus is on well designed, maintainable and clean code, with a view to portability given that some apps may need to be run on diverse technologies.