API Days

The university campus  of Paris has been the host of  the 2018 edition of the API Days in Paris. The event gathered some big names of the IT and telecom, as well as some smaller players. A non exhaustive list includes:

  • Red Hat
  • IBM
  • Orange
  • Kong
  • Parasoft

With today’s diversity of hardware and software products and services, the lack of standardization is  one of the bigger issues faced by customers. The good news is that  some companies can solve this problem. Yes, this is about APIs (Application Programming Interfaces). In other words, it is about standardized use of products and services.

A company with a deep enterprise-oriented culture, IBM provides a uniform API for virtually everything. While I am not sure how fast a 3 people team dedicated to the task can cope with ever changing systems as well as with new entrants, there is a high degree of confidence from Big Blue. I suspect there is more than the person I spoke with told me. Maybe it is Watson or something similar. One thing seemed sure: IBM can connect you in a standard way with virtually any database (both SQL and NoSQL). What I liked most was the official position regarding data protection. Without express demand from the customer, IBM stores no data. With the GDPR coming into effect next May, IBM may have positioned as a trusty partner and provider.

A telco with a long history, Orange has a strong position in the IoT market, for both industrial and home market. While the information is still scarce for the end-user,  with no demo portal, the offer has improved significantly. I mean, you need to contact Orange  and/or even pay  first  before seing the IoT portal in action.  From what I saw, the offer includes data communication, specific IoT hardware selling and API provinding. This is a wise move from a company which used to sell only data plans. The strongest part is about API. You can buy non standard IoT hardware from a Chinese company, use data plans from some telco and have Orange translate that non standard information into a conventional API.   Unlike IBM, there was no clear position regarding customer’s data. The meta API could keep intermediary data in caches. however, the user can choose to delete the data.

A less known company, Kong is aggregating APIs from micro services ( REST, Swagger, etc.) into an uniform interface. The solution is platform agnostic and integrates transparently at many levels.

One of the Linux veterans, RedHat has a long history of providing premium services to companies. For example, the company helped Amadeus during its own journey toward the cloud. RedHat is less about API and more about helping reach a specific goal.

Offering an API is good, making it secure is better. Parasoft plays in a different league and it has earned points in the field of software testing. The offer is quite big and covers a good number of languags and and standards.

I tried to write quickly about the event. There were many more companies present and introducing them all would take a much longer article. However, one thing is sure: API standardization is key to the future of IT.  With the advent of IoT, robotics and AI/Machine Learnng, I expect even more players to enter the arena of the API.



IoT powered over the air

According to UWINLOC, a French, Toulouse-based company, it is possible to install battery-less beacons that capture energy from a radio field. At the core of this technology lays a basic principle: very small devices require extremely low power.

The beacons harvest radio energy through miniaturized antennae. Once the internal energy storage system goes beyond a specific level dubbed as “charged”, the devices start to emit a “ping”. It is this ping that enables the location in a 3D space.  Several carefully-placed receivers locate the position of the beacon.

The small devices are packaged as tags that can be attached to any object. I see great potential in such a technology. It is a bit scary, but it might open the door to free energy. All it takes is to balance the power requirements of a device with its capacity of harvesting energy from the electromagnetic/radio field.



Build an simple Arduino-based wait time display for the bus stop

The real case

The styled bus stops J.C.Decaux has put in Paris have displays that indicate how many minutes one has to wait for the next bus. I like the simple matrix display put atop a 5m pole. The size of the LED matrix and their brightness allow a good read from more than 10m for the average person.


Unfortunately, there is only one matrix and as such, it is visible only from one side. While it is good for a MVP, the design has a big flaw: people coming from the opposite direction cannot see the information. The worst case is when someone sits across the street.  The bus could come from around the corner and go in just one minute. So much for the wait time display.


The idea of having a small matrix placed high enough to avoid destruction of property is quite good. The only bad thing is that I need to be near the bus stop in order to get the information. And this suggested the following project: a matrix display placed on my door, so I can see how minutes I have before the next bus arrives.

The schematics


The circuit uses two components:

  1. a WeMos D1 R2 board with the the excellent ESP8266 chip
  2. a 8×8 LED display driven by the MAX7219 chip

And now to the project

The display

The MAX7219 and the 8×8 LED display have a bright red color, easy to spot from a few meters away. Put on the front door (on the inside, of course), it is visible from a few meters away.

The excellent Arduino LedControl library is easy to use. It has only one drawback: no support for displaying figures, especially two figures, as the waiting time can go up to 60 minutes. Most of the existing stuff on the internet does not accommodate so much information in such a small space.


That is no problem. One piece of paper, a pencil and time. Not much. Ten minutes later, the display problem is solved.  The design of the font for the figures is simple, yet sufficient. Enough to show one or two digits.


And just in case, I’ve  added several text messages, like Err for error and WF for WiFi.


Updating the wait time display

A waiting time display must update itself on a regular basis. The precision is down to minutes, so it feels right to refresh it every minute.  There is no secret recipe:  one needs a network connection.

While today we have many IoT options like LoRA, ZigBee, SigFox and the likes of them, for sake of simplicity, I used a regular WiFi connection. Thus the presence of the WeMos D1 board, featuring an ESP8266 WiFi enabled chip. It is a low-cost solution to the problem.

The wait time provider

For this project, I use the excellent API from Pierre Grimaud. It is easy to use. The only caveat is the necessity to connect in https instead of http, which is not the default role  of ESP8266. Fortunately, there are alternatives.  The whole project is on GitHub. Feel free to use it and don’t judge too harsh the quality of the code. I did it in a rush. Don’t forget to replace the placeholder values with real stuff.

Flashing the ESP8266

I used the Arduino editor. It is the best thing to use when playing with Arduino devices.

A word of caution

The LED display draws a certain amount of current. The USB port of the computer has its limits. During the flash, I disconnected the LED matrix from the board. Maybe this step it is not necessary, but better safe than sorry.

One more thing

Be careful, the real LED matrix has a slightly different order for the pins than the image above. The order is the following: Vcc,GND,DIN,CS,CLK. Make sure you connect pin D6 to CLK, respectively pin D5 to CS.



Kerlink – financial statements


Before jumping into the water

I have started the analysis of the publicly available financial reports of Kerlink, the IoT player. I tried to use here a color scheme as closed to the official web page as possible. Before going  further, I would like to remark the choice of colors. Finance requires a strong  focus on figures. It is not the first time I see this red text on blue background. From my experience, sooner or later, someone will see that it is a bit hard to read the text.



Combining a proximity sensor with a RGB LED


The sensor and the RGB LED

The basic idea

Let’s say you want to have a device which can tell you in a simple way if something is dangerous. In the present case, let’s assume there is a very hot stove and you must avoid at all costs to touch it.  There are many ways to do it. In my case, as I am playing with  Arduino, the best way to see the shields and other components in action is to combine them in a useful way. The current project uses a proximity sensor, made by Sharp, a  common anode RGB LED and of course the classical Arduino board plus the breadboard.


The proximity sensor with the color-coded connectors

The sensor

The proximity sensor is 0A41SK (or GP2Y0A41SK0F). It comes with a connector which is color coded:

  • red –> 5Vcc
  • black –> GND
  • yellow — Analog pin 0

RGB LED in common anode configuration


The LED is not very hard to use, but mine didn’t lit and I learned about the two possible RGB LED configurations:

  • common anode
  • common cathode

In case you assume the first type and the LED doesn’t blink at all, you must conclude it is the opposite type. Such was my case. I was afraid the LED was broken, but  it functioned normally.


1K resistor


The resistors

I used three 1K resistors.  Surprisingly, while people over the internet say that the LED is poorly lit when combined with 1K resistors, in my was it was very bright. Maybe the common anode configuration is favoring this type of LED.

The schematics

The only particular aspect of the circuit was the use of the 5Vcc pin instead of the GND  for the RGB led. This requires an inversion of the values on the pins D5, D6, D7, but more of it later. As it can be seen in the picture, there are two distinct circuits that can be tested independently. In fact I used the half-circuits  before putting everything together.

The configuration of the LED

Due to the peculiarities of the LED, it is lit when there is a voltage between the 5Vcc pin and the pins D5, D6, D7. In other words, the three individual diodes that make up the LED are lit when the three pins are set on LOW. Similarly, the LED is unlit when the pins are set on HIGH.

The configuration of the sensor

The proximity sensor is connected to the A0 analog pin. AS I am using a WeMos card, it is the only analog pin and I am glad it is available on the board.

Playing with the values

The ADC converter returns a value between 0 and 1023, corresponding to a voltage between 0 and  5Vcc.  I used a mathematical formula in order to calculate the voltage. Now, there are many libraries that ca be used, but as I didn’t like the distanced produced, I preferred to do the job myself, so I wrote my own distance calculation  function, based on the plot tables provided by Sharp.  I will provide the code later, on GitHub.

The LED and the sensor

The main idea is  split the range of the sensor in three smaller sub-ranges and associate a color to each one of the:

  • 4 – 10 cm blue
  • 10 – 20 cm green
  • 20-30 cm red

if the object or the hand is at more than 30 cm (or a foot) from the sensor, we consider the stove is not harmful. However, if that is not the case, we have three intervals and three warning colors.  Each color is independent from the others.

IF the frequency of the loop is set to  say 50 ms, the whole system is very reactive to the movement of a hand.


I use a WeMos board. As many have pointed out, the Expressif chip has some current leakages.  in my case, the D5 pin, which is SCK and powers the red color,  is connected to an on board led.  I suspect there are some issues with it. Any way, the red color indicates a capacitor that needs to recharge periodically.  Anyway, I am happy with my WeMos board. I have already tested several interesting configurations.

AS a final remark, when I tried to use other pins than D5, the led stayed unlit. It might have an issue with the current available to the board. There are plenty of forums and  groups out there and I will dig out this.


Speech recognition and the real world


The margin of error is shrinking down


A recent article  from GeekWire caught my attention. It seems that a Microsoft, a pioneer in speech recognition, reached a record error rate. In one year, this rate has fallen from 5.9% to 5.1%. It seems impressive. IBM has announced an improvement of their speech recognition engine, too, down from 6.9% to 5.5%. Alexa from Amazon is also improving. Siri from Apple gets better than ever. The same for Google. Competition is healthy because it drives innovation and paves the way to breakthroughs. Yet, today, everyone is using the same magic. Could it be the wrong magic ?


An artificial neural network

The magic under the hood

Today, some, if not all of the speech engines use what is called a neural network.  Basically, the machine tries to imitate the human brain. And the misconception in neural networks is the following: there are 100 billion neurons in the human brain, each with 100 to 10000 connections. Those connections are extremely important to the human intelligence. So, by the numbers,  there are between 10 trillion and  1 quadrillion connections.

A big number, but after all, just a number. All we need is to get to have 1 quadrillion processors or something equivalent and the system will be as smart as a human. Well, something has been omitted here. Yes, there are so many connections in the human brain, but the part that is considered intelligence has much less ‘smart material’.  If the human brain is a ball of 16 centimeters in diameter, the ‘intelligent’ part of it is an outer layer less than  3 mm thick. It the cerebral cortex. The rest of the brain is the animal part. Somehow, the intelligent layer of the brain has a quality that makes us smarter.


Only 5% of the words matter here


The real challenge

IBM claims that one word out of 20 is missed by a human listener. While I don’t agree with the claim, one fact is sure: people speak differently:

  • different speeds;
  • different volumes;
  • different vocabularies;
  • different pronunciations

and so on. All these differences adds up to the challenge of understanding speech. The English language  has about 1 million words. 5% of a million is 50000 words.  As many as the common vocabulary of a common speaker.  Imagine 20 people in the countryside. Only one of them knows how to get to the castle of the king, 19 others leaking information that misleads. According to the current state of the art, no speech recognition can guarantee to bring you to the king. And if such a system were to be part of a self-driving car, well, I don’t even try to imagine.


The true challenge is to get to Six-Sigma

The true breakthrough

A good speech system should be much more close to Six-Sigma and the reason why is that is should be able to infer what word it missed, make correct guess and ask clarifying questions. For those who are not aware, Six-Sigma is about 3.4 errors in a million.

Don’t misunderstand me. 5% is a great improvement. I remember when 20 years ago I used Microsoft’s experimental speech recognition system and each time I spoke ‘iexplore’ it understood ‘Netscape’. Yes, such was the case.  Today it has changed, but 5% is not good enough for me.  Not if I want to put the system in a place where people’s life depends on it.

The potential of IoT

While I am still a bit skeptical, there is a huge potential for speech recognition. By embedding Alexa or Siri into a small device like a temperature controller, or a water tap controller,  we could interact in a more humane way with our environment. so there is hope. A new hope.

So keep working Microsoft, IBM, Amazon, Google and all other teams. The road is not a pleasant walk, but by the end of it, there such a big reward …



Smart Home Summit – 2017 edition

On 19th and 20th September, London will host the Smart Home Summit 2017.  While IoT is a hot topic, it is at such conferences that the real actors come. The agenda looks impressive. The speakers too.  The list includes the usual suspects and newcomers, among which:







A Brief History of Things

Related image2001

History repeats itself. Or so it seems.  Little more than a decade and a half ago, it was enough to use the words internet, web, new technology and you had the financing for your startup. What happened we all know: the dot-com bubble, the crisis, the collapse of the net-economy.

Image result for credit2008

Then, the economy started again, stronger, better. Everybody was confident. So confident that elementary auditing techniques were ignored just like that.  What happened is history. A history whose relics are still slowing down the development on steroids of the economy. Because the economy is developing. It might mutate, it might change its appearance, but it is developing. And the history is repeating again and again. Why care. It goes down, it goes up.


We are less than a decade later. If you want to make a start-up and raise a lot of money, what better way than use the magic 3-letter word: Aye Oh Tee. And to make sure people in front of you get it, just add the word Smart in front of any other word:

Image result for smart building

  • Smart Home;Image result for smart home
  • Smart Car;Image result for intelligent vehicles
  • Smart Mobility;Image result for smart mobility
  • Smart City;Image result for smart city

The list goes on and on. The number of small companies whose business is related to IoT is incalculable. OK, the small devices have a future of their own, that is sure. But there is a long way ahead. Yet, people have no patience. Time shrinks itself. Six months are too much for an idea to become reality or else it gets obsolete. Are we nearing a bubble ? If in 2001, Internet was a toy for a small part of the global population, today is different.

Image result for Plug and playIn the old days of DOS and Windows, there was a mantra: Plug-n-Play. A computer device had more chances to get into the market if it was PnP.  I don’t know why, but this PnP thing seems to resurface as IoT.  Which is good for the long run. Future needs to develop itself.  There are many projects waiting to become a reality, a part of the landscape.


Can Microsoft become a key IoT player ?

A recent survey on Twitter produced the following results:


It seems Samsung is perceived as a more important IoT player than Microsoft. Also, one third of the respondents believe that Microsoft will abandon the IoT arena. However, when Apple launched the iPad, Microsoft tried to come on the market with a similar product. After a quick failure, the company from Redmond understood its mistakes, took its time and brought Surface to the market.

Related imageThe question is why Samsung is so strong and why it is perceived as so strong.  After all, the Korean giant  is best known as a mass producer, not a as a pioneer. IoT is a technology based on diversity. This contrasts with mass production.

Related image

My guess is that Microsoft is seen as an underdog. This could be a mistake from Samsung. The West coast IT company is known to make mistakes, but also recognized as a street fighter. And street fighters are good at wining matches.


Smart City and IoT are closing the gap.

Here are the projects from the machineQ Smart City Hackathon :

I think it is a good idea to combine civic apps with IoT. After all, every great product  / service started as the answer to a small but painfull problem: improve safety in parking lots, identify potholes on the road, save energy costs.

Thumbs up, guys!