Recently I found myself writing a self-contained server-based traffic management software service. This harvested traffic data from a TomTom navigation API. It then used Artificial Intelligence to “learn” from that information and decide on how to advise users. This product made it into the renowned Cape Breton Spark competition, which was a great experience. Since then the project has stalled, but I’ve decided to open-source a part of it in the hopes other people may use it in one of their future projects. THE PROBLEM Gathering data over a network and processing it is very asynchronous and the problem lent itself to a simple actor framework. This is a paradigm that’s commonplace in languages such as Erlang, Smalltalk, Go, and others, but I wanted to use C++. My language choice was made based mainly on wanting to hit the ground running and my previous experience in C++ would make that a lot easier. Others too, I’m sure will find themselves in that boat. THE ACTOR FRAMEWORK I did ...
Every organization has data, whether they know it or not. A company’s data is their second biggest asset (staff, data, customers, other assets). Without data, how do you make decisions? How do you chose what areas to focus on, what department to grow, which customers need another visit, where your strengths and weaknesses are? Lots of firms neglect their data, leaving it to languish in old computer systems or worse still, paperwork, when they should be making it work for them. It should be updated continuously and used to generate valuable reports for management and staff. WHAT IS JOINED-UP DATA? You’ve probably heard of the phrase joined-up thinking. Well, joined-up data is really the same thing: different departments having a free exchange of data. An example of a system with joined-up data would be the following: Imagine a railway company. One computer system holds the track information – lengths, junctions, stations – in a GIS database. Another system handles...