Agile Software Development with Open-source Technologies
Python is our language of choice for almost all server-side software development, due to the simplicity and power of its syntax, the mature and predictable interpreter and the rich ecosystem of libraries, modules and know-how that are readily available on-line.
We have used and contributed to the development of the Django web framework since its early days. It is the first tool that we reach for when we have to quickly build demanding web-based applications and on-line platforms that need to scale fast.
The most powerful open-source database makes it easy to reliably store and process huge amounts of business data. It works amazingly well with Python and Django and makes it easy to implement advanced business reporting modules. The PostGIS extension gives us the power to develop complex geographic databases.
Amazon Web Services
AWS is the perfect platform for developing reliable business applications and scalable on-line platforms in the cloud. The wide range of cloud-based business logic services that include great support for our favourite programming languages and tools make this an easy choice that has proven to be a winner.
Elixir & Erlang
When automating business processes, many events must be processed and handled, often at the same time. The elegant Elixir language and the battle-tested Erlang virtual machine make the power of concurrent programming accessible and pragmatic.
We use the Google Maps API to develop interactive on-line maps, to visualise geographic or location data and as a front-end for complex Geographic Information Systems.
To see some of our contributions to the open-source tools and technologies that we use and love, visit our page on GitHub at https://github.com/a115
The following are examples of open-source software packages that we have recently released:
- reguser - a reusable Django (Python) application for handling all aspects of user registration. Uses cryptographic signing instead of storing Registration Profiles in the database.
- scalendar - a reusable Django (Python) application providing flexible calendaring and scheduling functionality for web-based apps.
- exmatrix - an Elixir library implementing a parallel matrix multiplication algorithm and other utilities for working with matrices. Used for benchmarking computationally intensive concurrent code.
- elixir-invoice - an Elixir library (and command-line utility) for invoicing and calculating VAT.
- ViewCop-Android - our Automatic Number Plate Recognition software for Google GLASS and other Android-powered augmented reality glasses. Part of our Smart City ViewCop project.