Test Archaeology: Following Natural/Adabas Behaviour from the Mainframe to Linux
D90 is a long-running Natural/Adabas application that supports core driver and vehicle licensing services. We’re moving it from its existing IBM mainframe environment to Linux running on AWS, which raises an obvious question: will it still work the same way? The application launched in the 1990s and has been refined ever since. Moving it to Linux running on AWS requires adapting to a different platform: encoding, sort order, I/O behaviour, and other assumptions built into the code over decades. We are adding Cucumber scenarios using Software AG’s browser-based Natural interface with Capybara and Playwright to ensure key features work as expected. ...
DVLA @ AI Engineering Lab Hackathon
On the 16th of April 2026, data and software engineers from DVLA went to the AI Engineering Lab Hackathon at CodeNode in London. This was a cross-government event led by the Department for Science, Innovation, and Technology (DSIT) and Version 1. The event brought public sector engineers together to explore how far AI can go in supporting public services, and there were representatives from major vendors like Anthropic, AWS, and Microsoft on hand to provide support throughout the day. ...
Generating AI Audio
Your browser does not support the audio element. You may prefer to listen to the audio version of this blog post. Download audio At the DVLA Emerging Technology Lab, we wondered whether Generative AI could be used to make long-form documents more accessible and engaging. Many individuals find reading extensive written documents challenging. Recent technological advances have enabled the generation of “audio overviews” and “podcasts” from text content. Our idea was to explore how far this technology might assist neurodiverse individuals, or those for whom English is not a first language. ...
TiL: Double Splat Nil in Ruby
How Ruby can do what you don’t expect Ruby is a very clever language. It will take the code you’ve written and do it’s best to make sure it runs. Take for example the following method call: method_one('Hello', param_two: ' world') That looks simple enough as it takes two arguments, one positional and one keyword. Now, lets take a look at what the method is actually doing: def method_one(param_one, param_two) p param_one, param_two end Interesting. At first glance it might appear that this method would print Hello world, but there is a subtle difference between how the method has been defined and how it is called. Let’s see what it actually outputs: ...
Checking for existing user in Atlas
Ever had to create users in MongoDb Atlas in AWS for use when making database enquiries in a functional test written in Ruby? Ever wished you could leave it to the test pack to check if one already exists and create one when required, instead of hand cranking a new one every single day of your life? Well now you can!!! But, first things first What is MongoDB Atlas and what do its users do? ...