OpenStreetMap is an open/collaborative map considered the Wikipedia of maps. There are tons of information available online and even books about it... Anyway, it is not the history of OSM that we will discuss here. We will rather take a look at the impressive dataset behind and how such a big map can be analysed with modern technologies as Apache Spark.
In the previous article we laid out the foundation of what multithreading is and described the pillar of asynchronous programming in .Net, namely the IAsyncResult interface. We also provided a brief history of the evolution of the .Net multithreading abstractization, starting with the Thread class and ending with the async-await pattern (and keywords). In this article we will elaborate on the topic, giving detailed .Net thread synchronization examples, focusing on the two modes the CPU is spending time, in any modern operating system: the user-mode and the kernel-mode. As usual, we start with the definitions.
There are multiple automotive embedded systems one of which is the car navigation system. OpenStreetMap (OSM)-based GPS navigation apps are increasingly used as OSM is the only crowd-sourced and open-sourced global map. OSM is constantly improved by the worldwide OSM users, and by the map-analysts at Telenav. Therefore, the OSM permanently catches up with the changes from reality. Even though there are several map features that can be used when mapping, there are some tags specific to routing. By way of illustration, turn-restrictions, oneway roads, road name, signposts or road geometry are examples of map features that can influence routing.
Making vehicles available to people who do not have access to this service is an idea which has been gaining momentum in Europe, ever since 1987. It was then that people started reevaluating the actual costs of owning a vehicle, compared to the actual time the vehicle is used, an approximate 8 days per year. The car sharing market is available in more than 1000 cities, the following cities being representatives for Europe: Berlin, Munich and Vienna. We believe technology and innovation can improve the quality of life, and this vision permeates the projects we developed. Distributed mobility services do not bring benefits cost-wise, but they diminish the negative impact of personal cars on the environment.
Financial Information eXchange protocol is a message layout used to exchange financial information. It was designed for real-time exchange of information related to securities transactions and markets. When it was initially developed, it was intended to automate a communication that was done via phone. The first ever communication via FIX was between Fidelity Investments and Salomon Brothers. One of the reasons for using machine-readable communication was to reduce the amount of errors caused by human factors.
Transactions done by automated systems on electronic markets increased in volume significantly, over the past few years, getting to the point where they are dwarfing the rest on all major exchanges. As an example, the volume of trades made from co-location (systems located in the proximity of the exchange) went up from 10% in 2010 to over 50% in 2016. Naturally, a question arises: "Why is there so much automated trading"? One of the answers might be that investors are optimistic.
Electronic trading is the daily challenge for execution excellence in trading and risk management, utilizing various technologies with the constant strives to improve; always aiming for perfection. Globalization created global markets that compete for market share, correlations and dependencies between different markets grew as fast as technologies and service agreements could cope with.
We live in exponential times, as one of those catchy videos circulating on YouTube and Facebook was proudly boasting. And no area of our lives abides to this motto as much and as clearly as the evolution of the processing power available at our fingertips. Moore’s law - and those who toil incessantly to actually keep it relevant - is partially to blame for this, but the real cause is our endless pursuit of progress, our fascination with more, bigger, faster things, all these adjectives we usually associate with better. In this monotonically increasing evolution though, a problem arises when we hit an unsurpassable wall, when we need to decide for instance whether better means faster or more.
According to Knuth, Computer Programming as an Art (1974), “premature optimization is the root of all evil (or at least most of it) in programming.” Has the truth behind this statement been changing in the last forty years? Let’s look at some examples in C++, as even today, it is a synonym for performance. Let’s start with a simple function – division by four.
Automotive is one of those industries that push a lot of technological innovation into people's life. New technology such as active displays, health monitoring, remote access and biometric systems are already part of the projects big players are involved in. Software is essential in all of these. Self-driving and connected cars technologies will revolutionize the auto industry even more profoundly, but navigation maps will remain as important as they are today.