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:
Build and delivery, repetative (not exploratory) testing, endurance (soak) testing, test reporting, other reporting related to software process (including usage tracking and field error reporting), software resource usage visualisation, source control commit validation (does it build? is it broken?), enhancing bug reports with additional data - or automatically reproducing failed tests using builds with instrumentation.
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.
- Learn Robotics Programming
- Getting CSV Reports From A Comand In PDQ
- Django rest Framework - Slow Browseable API
- The Essence Of a Useful Comment
- Pytest-mock Python Package
- How PDQ Could Be Made Dev-Ops Ready (2017)
- VSCode - My Current Favourite Editor
- Why I Love And Hate Frameworks
- Banking Your Good work
- Devops Thoughts On Culture And Philosophy - Why Abstract, Automate or modularise?
- Trick for python mock side affects
- IDE For Jekyll revisited
- Playing with Jekyll and the cloud 9 IDE
- Github 2fa
- Why Bother With Automation
- A mantra for automation
- Getting a Faster Gnome 3 Startup
- Programming Rants - PEP 370
- MySql, Django and Transactions
- Help and Tips For Email Software
- C plus plus Behaviour Driven Development tools
- The Man In The Pub | Buying Beers and Overreaching
- Bulk renaming files in Windows and other GUI's
- Tip for Dealing with Duplicate Files
- Math Problem Solved in Python
About Danny Staple
Danny is the Director of ODM Solutions, and a skilled IT professional.
Danny been using Python for close to a decade for various tasks, professionally since around 2008.
ODM has 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.
Danny Staple is also using Python to work with robots (please see OrionRobots - stuff with Raspberry Pi and Arduino).
ODM have been working in automation for continuous integration systems with Sky, Cisco and Synamedia since 2010. This is automation of software builds, software testing and delivery into test/integration teams.
ODM has 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.
Danny is a test-infected, or even test-obsessed developer, and has been working closely with a number of automated testing methods:
- Automatic unit testing - mocking, stubbing, optimizing where tests need speeding up.
- Integration testing - bringing components together and testing sections of a full system.
- Full Stack Testing - Testing on hardware.
ODM has experience with the S3 StormTest system since 2010 for testing full stack on STB’s. Danny is familiar with Pythons Unittest, Micheal Foords Mock, VirtualEnv and Nose for testing python systems. Prior to starting ODM, Danny built a system for automating testing of ActionScript with a Jasmine like syntax and automated by integration with Hudson (now Jenkins).
Some experience with Selenium, VirtualBox.
ODM Solutions is able to consult on single step build processes for complex builds involving multiple languages and technologies. This includes working with:
- Bash Scripts
- Various scripting languages for transformation.
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).
- 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.
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
Danny has attended PyCon Uk since 2012, and turn up at London Python Group events along with Skillsmatter events.
Danny participates in STEM education support through Orionrobots.
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. ODM are not only users of BDD, TDD and unit testing frameworks, but actively researching and contributing to this aspect of Software Practice Advancement.
Although Python is Danny’s main language, he has developed tools, apps and games in C++, C, ActionScript, Ruby, PHP and Perl - and is able to adapt to languages or tools as needed (at least those that have documentation). ODM’s 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.
The easiest way to contact ODM Solutions is to email email@example.com.